package modelo;

import IDE.Vista;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.io.StringReader;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTextArea;

public class Modelo {

    private Vista vista;
    private RandomAccessFile raf;
    private JTextArea texto;
    public Modelo(Vista vista) {
        this.vista = vista;
        texto= this.vista.getTxtCodigo();

    }

    public void manipularArchivo(String nombreArchivo,String modo) {
       /* File archivo = new File("C:");
        String ruta =archivo.getAbsolutePath() + "\\" + nombreArchivo;
        try {
            raf = new RandomAccessFile(nombreArchivo, modo);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            System.out.println(raf.length());
        } catch (IOException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }*/

        texto.setText("");
        
        File f=new File(nombreArchivo);
        FileInputStream f1;
        try {
            f1 = new FileInputStream(f);
            InputStreamReader f2= new InputStreamReader(f1);
            BufferedReader linea= new BufferedReader(f2);
            String linea_arch;
            try {
                  while (( linea_arch = linea.readLine()) != null)
                  { 
                      texto.append(linea_arch+"\n");
                    }

                  linea.close();

                  
            } catch (IOException ex) {
                Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
            }




        } catch (FileNotFoundException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }







    }



    public void guardar (String Ruta)
    {



     PrintWriter archivoSalida;
        try {
            archivoSalida = new PrintWriter(new BufferedWriter(new FileWriter(Ruta)));

            archivoSalida.println(texto.getText());
            archivoSalida.close();
        } catch (IOException ex) {
            Logger.getLogger(Modelo.class.getName()).log(Level.SEVERE, null, ex);
        }


    }
}
